package com.qijian.business.domain.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;

@Data
@ToString
public class MarginalAchieveRateVo {

    @ApiModelProperty("开工令")
    private String projectMachineNo;

    @ApiModelProperty("项目编号")
    private String projectNo;
    @ApiModelProperty("机台号")
    private String machineNo;
    @ApiModelProperty("产品名称")
    private String itemName;

    @ApiModelProperty("材料预算")
    private BigDecimal materialBudget;
    @ApiModelProperty("材料成本")
    private BigDecimal materialCost;


    @ApiModelProperty("人工预算")
    private BigDecimal laborBudget;
    @ApiModelProperty("人工成本")
    private BigDecimal laborCost;

    @ApiModelProperty("外协预算")
    private BigDecimal outsourcingBudget;
    @ApiModelProperty("外协成本")
    private BigDecimal outsourcingCost;

    @ApiModelProperty("物流预算")
    private BigDecimal logisticsBudget;
    @ApiModelProperty("物流成本")
    private BigDecimal logisticsCost;

    @ApiModelProperty("目标边际")
    private BigDecimal budgetMarginalRate;
    @ApiModelProperty("实际边际")
    private BigDecimal actualMarginalRate;

    @ApiModelProperty("预算合计")
    private BigDecimal budgetTotal;
    @ApiModelProperty("实际合计")
    private BigDecimal actualTotal;

    @ApiModelProperty("销售金额")
    private BigDecimal budgetPrice;

    @ApiModelProperty("销售金额")
    private BigDecimal actualPrice;

    @ApiModelProperty("边际达成率")
    private BigDecimal marginalAchieveRate;
    @ApiModelProperty("边际达成率")
    private int isShipped;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("bomId")
    private Long bomId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty("projectId")
    private Long projectId;

    private BigDecimal weight;
}
